<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  OSGUTIL_EXPORT osgUtil::RenderGraph</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::RenderGraph</A></H2></H2><HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="Mosg::Referenced,M,CRenderGraph,MRenderGraph.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;const osg::StateSet&gt;  <B><A HREF="#DOC.2.13.2">_stateset</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.13.3">_depth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ChildList <B><A HREF="#DOC.2.13.4">_children</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>LeafList <B><A HREF="#DOC.2.13.5">_leaves</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable float <B><A HREF="#DOC.2.13.6">_averageDistance</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;osg::Referenced&gt;  <B><A HREF="#DOC.2.13.7">_userData</A></B>
</DL></P>

<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.13.8">RenderGraph</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.13.9">RenderGraph</A></B>(<!1><A HREF="RenderGraph.html#DOC.2.13.9">RenderGraph</A>* parent, const osg::StateSet* stateset)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.13.10">~RenderGraph</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="RenderGraph.html">RenderGraph</A>* <B><A HREF="#DOC.2.13.11">cloneType</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.13.12">setUserData</A></B>(osg::Referenced* obj)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Referenced* <B><A HREF="#DOC.2.13.13">getUserData</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const osg::Referenced* <B><A HREF="#DOC.2.13.14">getUserData</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.13.15">empty</A></B>() const 
<DD><I>return true if all of drawables, lights and children are empty</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.13.16">leaves_empty</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.13.17">getAverageDistance</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.13.18">sortFrontToBack</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.13.19">reset</A></B>()
<DD><I>reset the internal contents of a RenderGraph, including deleting all children</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.13.20">clean</A></B>()
<DD><I>recursively clean the RenderGraph of all its drawables, lights and depths.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.13.21">prune</A></B>()
<DD><I>recursively prune the RenderGraph of empty children</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="RenderGraph.html">RenderGraph</A>* <B><A HREF="#DOC.2.13.22">find_or_insert</A></B>(const osg::StateSet* stateset)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.13.23">addLeaf</A></B>(<!1><A HREF="RenderLeaf.html">RenderLeaf</A>* leaf)
<DD><I>add a render leaf</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static inline   void <B><A HREF="#DOC.2.13.24">moveRenderGraph</A></B>(osg::State&amp; state, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_curr, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_new)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline static   void <B><A HREF="#DOC.2.13.25">moveToRootRenderGraph</A></B>(osg::State&amp; state, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_curr)
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="RenderLeaf.html">RenderLeaf</A>&gt; &gt; LeafList <!1><A HREF="RenderGraph.html">RenderGraph</A>* <B><A HREF="#DOC.2.13.1">_parent</A></B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<DL>

<A NAME="_parent"></A>
<A NAME="DOC.2.13.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="RenderLeaf.html">RenderLeaf</A>&gt; &gt; LeafList <!1><A HREF="RenderGraph.html">RenderGraph</A>* _parent</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_stateset"></A>
<A NAME="DOC.2.13.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;const osg::StateSet&gt;  _stateset</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_depth"></A>
<A NAME="DOC.2.13.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _depth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_children"></A>
<A NAME="DOC.2.13.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ChildList _children</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_leaves"></A>
<A NAME="DOC.2.13.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>LeafList _leaves</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_averageDistance"></A>
<A NAME="DOC.2.13.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable float _averageDistance</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_userData"></A>
<A NAME="DOC.2.13.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Referenced&gt;  _userData</B></TT>
<DL><DT><DD></DL><P>
<A NAME="RenderGraph"></A>
<A NAME="DOC.2.13.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RenderGraph()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="RenderGraph"></A>
<A NAME="DOC.2.13.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RenderGraph(<!1><A HREF="RenderGraph.html#DOC.2.13.9">RenderGraph</A>* parent, const osg::StateSet* stateset)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~RenderGraph"></A>
<A NAME="DOC.2.13.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~RenderGraph()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.13.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderGraph.html">RenderGraph</A>* cloneType() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setUserData"></A>
<A NAME="DOC.2.13.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setUserData(osg::Referenced* obj)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getUserData"></A>
<A NAME="DOC.2.13.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Referenced* getUserData()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getUserData"></A>
<A NAME="DOC.2.13.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Referenced* getUserData() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="empty"></A>
<A NAME="DOC.2.13.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool empty() const </B></TT>
<DD>return true if all of drawables, lights and children are empty
<DL><DT><DD></DL><P>
<A NAME="leaves_empty"></A>
<A NAME="DOC.2.13.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool leaves_empty() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getAverageDistance"></A>
<A NAME="DOC.2.13.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float getAverageDistance() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="sortFrontToBack"></A>
<A NAME="DOC.2.13.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void sortFrontToBack()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="reset"></A>
<A NAME="DOC.2.13.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
<DD>reset the internal contents of a RenderGraph, including deleting all children
<DL><DT><DD></DL><P>
<A NAME="clean"></A>
<A NAME="DOC.2.13.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void clean()</B></TT>
<DD>recursively clean the RenderGraph of all its drawables, lights and depths.
Leaves children intact, and ready to be populated again.
<DL><DT><DD></DL><P>
<A NAME="prune"></A>
<A NAME="DOC.2.13.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void prune()</B></TT>
<DD>recursively prune the RenderGraph of empty children
<DL><DT><DD></DL><P>
<A NAME="find_or_insert"></A>
<A NAME="DOC.2.13.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="RenderGraph.html">RenderGraph</A>* find_or_insert(const osg::StateSet* stateset)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addLeaf"></A>
<A NAME="DOC.2.13.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void addLeaf(<!1><A HREF="RenderLeaf.html">RenderLeaf</A>* leaf)</B></TT>
<DD>add a render leaf
<DL><DT><DD></DL><P>
<A NAME="moveRenderGraph"></A>
<A NAME="DOC.2.13.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static inline   void moveRenderGraph(osg::State&amp; state, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_curr, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_new)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="moveToRootRenderGraph"></A>
<A NAME="DOC.2.13.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline static   void moveToRootRenderGraph(osg::State&amp; state, <!1><A HREF="RenderGraph.html">RenderGraph</A>* sg_curr)</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
